/**********************************************************
 * malloc() 根据参数指定的尺寸来分配内存块，
 * malloc() 返回指向内存块初始位置的指针,
 * 通常被用作动态分配结构体的内存领域、
 * 动态分配执行前还不知道大小的数组的内存领域。
 * p = malloc(size);
 * 内存不足，返回 NULL。
 * free() 释放不再使用 由 malloc() 分配的内存。
 * free(p);
 * 
 * 这样能够运行时进行内存分配，
 * 而且可以通过任意的顺序释放的记忆区域，称为堆（heap）
 **********************************************************/
